GIT
fork
keep fork up to date with upstream
# add the upstream with which we want to stay in sync
git remote add upstream https://github.com/whoever/whatever.git
git fetch upstream
# update the main branch to the upstream main commit
git checkout master
git rebase upstream/master
source: https://stackoverflow.com/a/7244456
patch
create patche file
# go to main branch
git checkout main
# create patch file with all changes from branch 1-fix-some-bug
git format-patch 1-fix-some-bug --stdout > 1-fix-some-bug.patch
apply patch file
# go to branch you want to apply changes to
git checkout main
# apply patch file
git am ../1-fix-some-bug.patch
# see the changes
git log
source: https://www.git-tower.com/learn/git/faq/create-and-apply-patch/
reset
reset single file to HEAD
git checkout HEAD -- some-file.txt
reset repo to HEAD
git reset --hard
reset repo to remote
git fetch origin
git reset --hard origin/main
rebase
change git history (last 10 commits)
git rebase -i HEAD~10
delete tag
delete tag and push
git tag -d TAG_NAME
git push origin :refs/tags/TAG_NAME